const express=require("express");
const router=express.Router();
const db=require("../model/db");

//作者：舒利霞
//添加
router.post("/", async(req,res)=>{
    const data=await db.Cinema.create(req.body)
    res.send(data);
})

//作者：舒利霞
// 删除
router.delete("/:id", async(req,res)=>{                                                                                                                                                                                                                                                                                                           
    await db.Cinema.deleteOne({
       _id:db.ObjectId(req.params.id)
    });
    res.send(true);
})

//作者：舒利霞
//修改
router.put("/:id",async(req,res)=>{
    await db.Cinema.updateOne({//条件对象
        _id:db.ObjectId(req.params.id)

    },req.body);
    res.send(true);
})

//作者：舒利霞
//查询所有
router.get("/",async(req,res)=>{
    if(!req.query.field){
        req.query.field="_id"; //默认id排序
    }
    if(!req.query.sort){
           req.query.sort="asc" //默认降序
    }
    //拼接排序字符串
    let s=req.query.field;
    if(req.query.sort==="desc"){
       s="-"+ s;
    }
    // //处理分页
    if(!req.query.page){
        req.query.page=1; //默认显示一页
    }
    if(!req.query.limit){
        req.query.limit=10; //页面容量为10
    }
    const page=parseInt(req.query.page);
    const limit=parseInt(req.query.limit);
    let condition={};
    if(req.query.key){
        const exp=new RegExp(req.query.key,"i");
        condition={
            $or:[
                {name:{$regex:exp}},
                {tel:{$regex:exp}},
                {addr:{$regex:exp}}
            ]        
        };
    }
    const data=await db.Cinema.find(condition).sort(s).skip((page-1)*limit).limit(limit);
    const count=parseInt(await db.Cinema.count(condition));
     res.send({
       code:0,
       message:"",
       count,
       data
   });
})
//作者：舒利霞
 //根据id查询
 router.get("/:id",async(req,res)=>{
     const data= await db.Cinema.findById(req.params.id)
     res.send(data);
 })

module.exports=router;